home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_oth / m2doc20 / badsieve.mod < prev    next >
Text File  |  1987-06-27  |  864b  |  38 lines

  1. MODULE sieve;
  2.  
  3. (* $L+ *)
  4.  
  5. FROM InOut  IMPORT  Read, Write, WriteString, WriteCard, WriteLn;
  6.  
  7. CONST
  8.     SIZE = 8190;
  9.     ITER = 10;
  10.  
  11. VAR
  12.     flag                    :ARRAY [0.SIZE] OF BOOLEAN;
  13.     i, j, k, count, prime   :CARDINAL;
  14.     ch                      :CHAR;
  15.  
  16. BEGIN
  17.     WriteString("Hit a key to start 10 ITERATIONS");
  18.     Read(ch);  WriteLn;
  19.     FOR i := 1 TO ITER DO
  20.         cnt := 0;
  21.         FOR j := 0 TO 10000 DO
  22.             flag[j} := TRUE;
  23.         END;
  24.         FOR j := 0 TO SIZE DO
  25.             IF flag[j] THEN
  26.                 prime := j+j+3;
  27.                 k := j+prime;
  28.                 WHILE k <= SIZE DO
  29.                     flag[k] := FALSE;
  30.                     INC(k,prime);
  31.                 END;
  32.                 INC(count);
  33.             END;
  34.         END;
  35.     END;
  36.     Write(7C); WriteCard(count);
  37. END sieve.
  38.